YPO Industry
ChatGPTで0からホームページ作成 Part ◯:コメント投稿をメールで通知する仕組みを作った!

ChatGPTで0からホームページ作成 Part ◯:コメント投稿をメールで通知する仕組みを作った!

こんにちは、YPO industryです。
今回は、前回追加したコメント投稿機能に、投稿があったら自動でメール通知する機能を追加しました!

WordPressを使わず、手作りのPHPサイトでここまでできると、かなり自由度が上がりますね。

✅ 目指す仕様

これができれば、記事への反応にすぐ気付けるようになります!

🛠 実装方法

1. 管理者用メールアドレスを設定

まず、index.phpの冒頭に、管理者の受け取り用メールアドレスを設定します。

$admin_email = "example@example.com"; // ←管理用メールアドレスに変更

2. コメント投稿後にメールを送信する

コメントが保存されたら、すぐに mb_send_mail() 関数を使ってメールを送信します。

ポイントは「誰が・どんなコメントを書いたか」と「どのページで書かれたか」を本文に含めることです。

追加するコードは以下です。

// コメント保存
file_put_contents($comment_file, $entry, FILE_APPEND | LOCK_EX);

// メール通知
$subject = "【コメント通知】" . $safe_name . "さんから投稿がありました";
$full_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http")
          . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
$message = "名前: " . $safe_name . "\n"
         . "コメント内容:\n" . $safe_comment . "\n\n"
         . "投稿されたページURL:\n" . $full_url;
$headers = "From: no-reply@example.com"; // 適当な送信元アドレス

mb_language("Japanese");
mb_internal_encoding("UTF-8");
mb_send_mail($admin_email, $subject, $message, $headers);

その後は、いつも通りリダイレクトして二重投稿を防止します。

header("Location: " . $_SERVER['REQUEST_URI']);
exit;

3. メール本文のイメージ

投稿があると、以下のようなメールが届きます。

名前: サンプルユーザー
コメント内容:
とても参考になりました!

投稿されたページURL:
https://example.com/category/sample-category/sample-article/

記事がどこにあるかもすぐわかるので、管理がとても楽になります!

📌 注意ポイント

✍ まとめ

今回で、

コメント通知機能のイメージ

がすべて揃いました!

PHPだけでここまでできると、WordPressに頼らなくてもかなり本格的なサイト運営が可能になりますね!

次回は、投稿されたコメントを管理できる仕組み(例:削除ボタン・通報機能など)にもチャレンジしたいと思います。

ぜひまたご覧ください!